In recent years, use of computer aided design (CAD) and computer-aided system engineering (CASE) has become increasingly prevalent in many industries. It is not uncommon today to have industries where scores of designers work toward a common goal of creating a new product design. It is equally as common to have these designers continuously working to upgrade or otherwise adapt a pre-existing design into one or more related designs. One example of such an effort is avionics system engineering, where new and revised products are continuously being created and changed. One integral part of this avionics development is the maintenance of software and hardware interface definitions. These interface definitions are commonly referred to as Interface Control Documents (ICDs). It is becoming increasingly important to be able to efficiently capture, use, share and reuse these ICDs electronically. In order to re-use ICDs, at varying component levels, an ICD tool needs to be able to create higher level components from lower level building blocks. For example, an ICD tool would preferably be able to define a new message from pre-existing labels or define a new port from pre-existing messages. A full configuration management system that allows versioning and baseline management of data within a database would be most helpful to such avionics designers. Correlation of this information to internal and external deliveries would be most helpful as well.
While configuration management solutions have been used extensively in the past with many engineering design tasks, there heretofore has not been any solution which allows full configuration management of engineering design information in a computerized database. Some configuration management solutions are able to manage computer files; however, they typically know very little, or nothing, about the content or semantics of those files. When they have some knowledge of the files, it is usually limited to generic characteristics of ASCII files. These CM systems are not capable of digging into a database file, understanding both process and model schemata and reading and updating database data. It has been proposed, in some academic articles, that an object-oriented database be used to perform the configuration management and database functions of such engineering design efforts. In articles entitled “Implementation of a Version Manager on an Object-Oriented Database Management System” by Hyun-Ju Park and Suk I. Yoo (hereafter Park 1), and “Implementation of Checkout/Checkin Mechanism on Object-Oriented Database Systems” by Hyun-Ju Park and Suk I. Yoo, IEEE 1996, (hereafter Park 2), it has been proposed to use a checkout/checkin mechanism for use with object-oriented data base management systems (ODBMSs).
While this approach has been investigated extensively in the past, it does have some drawbacks. One predominant drawback is that Park 1 and Park 2 teach that when a single object of a composite object is checked out into a private work place, that it involves the creation of a table of reference points for each object within the composite object. Under certain circumstances, this can have serious disadvantages in that it requires much storage space and consumes considerable processor time.
Consequently, there exists a need for improved methods and systems for providing configuration management solutions which use ODBMSs.